<template>
  <div class="couponlist-container">
    <van-list
      class="coupon-list"
      v-model="loading"
      :finished="finished"
      finished-text="没有更多了"
      @load="onLoad">
      <couponItem v-for="(coupon, index) in couponList" :key="index"></couponItem>
    </van-list>
  </div>
</template>

<script>
import couponItem from '@/components/coupon/couponItem'

export default {
  components: {
    couponItem
  },
  name: 'couponList',
  data () {
    return {
      loading: false,
      finished: false,
      couponList: []
    }
  },
  methods: {
    onLoad() {
      // 异步更新数据
      // setTimeout 仅做示例，真实场景中一般为 ajax 请求
      setTimeout(() => {
        for (let i = 0; i < 10; i++) {
          this.couponList.push({});
        }

        // 加载状态结束
        this.loading = false;

        // 数据全部加载完成
        if (this.couponList.length >= 40) {
          this.finished = true;
        }
      }, 1000);
    }
  }
}
</script>

<style lang="scss">
.couponlist-container{
  .coupon-list{
    padding: 10px 15px;
    .coupon-item{
      margin-bottom: 15px;
    }
  }
}
</style>
